Declarative Systems

نویسنده

  • Tyson Condie
چکیده

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Abstract Declarative Systems Building system software is a notoriously complex and arduous endeavor. Developing tools and methodologies for practical system software engineering has long been an active area of research. This thesis explores system software development through the lens of a declarative, data-centric programming language that can succinctly express high-level system specifications and be directly compiled to executable code. By unifying specification and implementation, our approach avoids the common problem of implementations diverging from specifications over time. In addition, we show that using a declarative language often results in drastic reductions in code size (100× and more) relative to procedural languages like Java and C++. We demonstrate these advantages by implementing a host of functionalities at various levels of the system hierarchy, including network protocols, query optimizers, and scheduling policies. In addition to providing a compact and optimized implementation, we demonstrate that our declarative implementations often map very naturally to traditional specifications: in many cases they are line-by-line translations of published pseudocode. We started this work with the hypothesis that declarative languages — originally developed for the purposes of data management and querying — could be fruitfully adapted to the specification and implementation of core system infrastructure. A similar argument had been made for networking protocols a few years earlier [61]. However, our goals were quite different: we wanted to explore a broader range of algorithms and functionalities (dynamic programming, scheduling, program rewriting, and system auditing) that were part of complex, real-world software systems. We identified two existing system components — query optimizers in a DBMS and task schedulers in a cloud computing system — that we felt would be better specified via a declarative language. Given our interest in delivering real-world software, a key challenge was identifying the right system boundary that would permit meaningful declarative implementations to coexist within existing imperative system architec-tures. We found that relations were a natural boundary for maintaining the ongoing system state on which the imperative and declarative code was based, and provided an elegant …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A critical study of Wahhabism interpretation from verses that deal with declarative attributes

Some verses of the Holy Quran ascribe attributes to God, the Almighty. This ascription has led to similitude and embodiment. The nature of these attributes has been one of the constant concerns of Quran scholars from the beginning of the spread of the knowledge of interpretation until today. Having these concerns in mind, the commentators have interpreted these verses according to their beliefs...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

Psychometric Properties of the Persian Word Pairs Task for Declarative Memory Assessment

Objective: According to the declarative/procedural model, the semantic aspect of language depends on the brain structures responsible for declarative memory. The word pairs task is a common tool for evaluating declarative memory. The current study aimed to design a valid and reliable task for evaluating declarative memory in Persian children at learning and retention stages and to investigate i...

متن کامل

The Efficacy of Procedural and Declarative Learning Strategies on EFL Students’ Oral Proficiency

Style and strategies in EFL learning contexts and the effects of task types were explored to enhance language learning strategies. Using a quantitative pre-test, post-test design and interviews, this study investigated the effects of procedural and declarative learning strategies on EFL learners’ acquisition of English past tense performing narrative tasks. The participants were 396 male and fe...

متن کامل

Building and Optimizing Declarative Networked Systems

Building and Optimizing Declarative Networked Systems

متن کامل

Unified Declarative Platform for Secure Networked Information Systems

We present a unified declarative platform for specifying, implementing, and analyzing secure networked information systems. Our work builds upon techniques from logic-based trust management systems, declarative networking, and data analysis via provenance. We make the following contributions. First, we propose the secure network datalog (SeNDlog) language that unifies Binder, a logic-based lang...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011